Awesome Scientific Writing
      
    
    
      
        Scientific writing can extend beyond LaTeX, made possible by formats,
        such as
        Markdown
        (and its many flavours),
        reStructuredText
        and Jupyter notebooks.
      
    
    
      :bookmark: means ability to seamlessly cite references.
    
    
      :link: means ability to
      cross-reference figures and sections within the document.
    
    Contents
    
    Word Processors
    
      - 
        Atom - Popular IDE with Markdown support.
        
      
 
      - 
        Marktext - Markdown text editor.
      
 
      - 
        R Studio - IDE for R.
        
          - 
            bookdown - R
            package to facilitate writing books and long-form articles, reports
            with R Markdown :bookmark: :link:.
          
 
          - 
            R Markdown - R package
            to write R next to Markdown :bookmark: :link:.
          
 
        
       
      - 
        Vim - Command line text editor.
        
          - 
            fzf-bibtex
            - BibTeX source with Vim integration which uses fzf (a fuzzy finder
            implemented in Go).
          
 
          - 
            vim-pandoc -
            Pandoc integration and utilities for Vim.
          
 
          - 
            vim-pandoc-syntax
            - Pandoc syntax highlighting for Vim.
          
 
        
       
      - 
        Visual Studio Code -
        Popular IDE with Markdown support.
        
          - 
            Markdown All in One
            - Extension for enhanced Markdown support in VSCode, such as preview
            and auto completion to name a few.
          
 
        
       
      - 
        Zettlr - Markdown editor which
        integrates CSL, BibLaTeX, Pandoc and many other tools :bookmark: :link:.
      
 
    
    Bibliography
    Reference managers to generate citations, BibTeX, and BibLaTeX files.
    
      - 
        Citation Style Language (CSL) styles
        - Crowdsourced repository with over 9000 free CSL citation styles and an
        online editor to create new ones.
      
 
      - 
        JabRef - Open source bibliography
        reference manager.
      
 
      - 
        Zotero - FOSS tool to collect,
        organize, cite, and share research.
        
      
 
      - 
        ZoteroBib - Online bibliography
        reference manager.
      
 
    
    Illustrations
    
      Drawing illustrations themselves has driven many a scientist mad.
      Fortunately, there are formal languages with which one can create
      beautiful graphics.
    
    
      - 
        diagrams.net - Open source,
        online, desktop and container deployable diagramming software.
      
 
      - 
        graphviz - Visualization software
        for graphs and networks which uses a domain-specific DOT language.
      
 
      - 
        Mermaid Live Editor
        - Define simple diagrams instead of drawing them.
      
 
      - 
        Vega Lite -
        Define charts and more complex diagrams.
      
 
      - 
        PlantUML - Define UML diagrams
        instead of drawing them.
      
 
    
    Converters and Filters
    Supplementary files and tools.
    
      - 
        Cicero - Python package which renders
        HTML presentations from Markdown source using remark or reveal.js
        :link:.
      
 
      - 
        docutils - Python
        package which can convert reStructuredText into various formats and
        provides command-line tools to do it :link:.
      
 
      - 
        Jupyter Book - A static site
        generator which converts a collection of CommonMark, MyST markdown and
        Jupyter notebooks into a HTML website.
      
 
      - 
        MyST -
        Markedly Structured Text, a superset of CommonMark markdown with
        reStructuredText like features.
      
 
      - 
        nbconvert -
        Convert Jupyter notebooks into 
reveal.js presentations,
        PDF, HTML, Markdown, reStructuredText and more.
        
          - 
            bookbook
            - Experimental Python package which extends
            
nbconvert and adds the ability to cross reference
            within and across notebooks :link:.
           
          - 
            ipypublish
            - Workflow for creating and editing publication ready scientific
            reports and presentations, from one or more Jupyter Notebooks,
            without leaving the browser :bookmark: :link:.
          
 
        
       
      - 
        pandoc - Haskell library for
        converting from one markup format to another, and a command-line tool
        that uses this library :bookmark: :link:.
        
          - 
            Academic Markdown
            - Python wrapper over Pandoc with specialized extensions to parse
            certain elements, making it a superset of Pandoc Markdown flavour
            :bookmark: :link:.
          
 
          - 
            Pandoc filters
            - List of addons to pandoc which implement extra features such as
            citations and cross-references.
          
 
          - 
            Panflute -
            Pythonic alternative to John MacFarlane’s pandocfilters.
          
 
        
       
    
    Spell Checking and Linting
    
    Templates
    Reusable minimalist examples.
    Articles
    
      - 
        Pandoc Markdown-LaTeX Boilerplate
        - Demonstrate how to integrate Pandoc with an existing LaTeX template
        which requires some boilerplate code (i.e. LaTeX preamble), thus
        avoiding the 
latexmk dependency.
       
      - 
        scientific-markdown
        - Example for use of Markdown for scientific publications using Pandoc
        and 
latexmk.
       
      - 
        Steve’s R Markdown Templates
        - Academic manuscript, memos, Beamer presentation, syllabus and CV.
      
 
    
    Presentations
    
      - 
        pandoc-starter
        - Templates for articles, Beamer presentations etc. using Markdown files
        and Makefiles for getting started with Pandoc.
      
 
      - 
        slides - Demo for
        generating 
reveal.js presentations using Pandoc.
       
    
    Books
    
    Tutorials
    How to generate articles and presentations for scientific purposes.
    
    Other Lists
    
    Contribute
    
      Contributions welcome! Read the
      contribution guidelines first.